package com.yxw.live_vod_boot.service;

import com.yxw.live_vod_boot.dto.follow.*;
import com.yxw.live_vod_boot.vo.FollowListVO;
import com.yxw.live_vod_boot.vo.FollowStateVO;
import com.yxw.live_vod_boot.vo.NewFriendListVO;
import com.yxw.yxnet_cd_center.common.dto.PageVO;

/**
 * @author fangmaoxin
 * &#064;date  2023年11月21日
 */
public interface FollowService {

    /**
     * 用户侧展示自己的关注列表
     */
    PageVO<FollowListVO> getFollowListByUserId(Long userId, FollowQueryDTO dto);

    /**
     * 用户新增一个关注
     */
    int insertFollowByUserId(Long userId, FollowAddDTO dto);

    /**
     * 用户取消一个关注
     */
    int deleteFollowByUserId(FollowDeleteDTO dto);

    /**
     * 用户侧-新朋友列表
     */
    PageVO<NewFriendListVO> getNewFriendList(Long userId, NewFriendQueryDTO dto);

    /**
     * 店铺侧-新朋友列表
     */
    PageVO<NewFriendListVO> getShopNewFriendList(Long userId, ShopNewFriendQueryDTO dto);

    /**
     * 查询自己有没有关注某个用户/店铺
     */
    FollowStateVO checkFollowStateForUser(Long userId, FollowStateQueryDTO dto);
}
